package com.kameiqi.erp.domain.model;
import cn.qqxkj.core.common.base.BaseModel;
import cn.qqxkj.core.annotation.agile.Page;
import cn.qqxkj.core.annotation.agile.PageField;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.util.Date;
import java.math.BigInteger;
import java.lang.String;

/**
 * 财务主表实体类
 * @author 小六子
 * @date 2022-04-23 15:17:32
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Table(name = "jsh_account_head")
@Entity
@Page(cover = true)
@ApiModel("财务主表")
public class AccountHead extends BaseModel{
    /** 类型(支出/收入/收款/付款/转账) */
    @ApiModelProperty(value="类型",notes="类型(支出/收入/收款/付款/转账)")
    private String type;

    /** 单位Id(收款/付款单位) */
    @ApiModelProperty(value="单位Id",notes="单位Id(收款/付款单位)")
    private Long organId;

    /** 经手人id */
    @ApiModelProperty(value="经手人id")
    private Long handsPersonId;

    /** 操作员 */
    @ApiModelProperty(value="操作员")
    private Long creator;

    /** 变动金额(优惠/收款/付款/实付) */
    @ApiModelProperty(value="变动金额",notes="变动金额(优惠/收款/付款/实付)")
    @Column(scale=6)
    @PageField(dataScale=6)
    private BigDecimal changeAmount;

    /** 优惠金额 */
    @ApiModelProperty(value="优惠金额")
    @Column(scale=6)
    @PageField(dataScale=6)
    private BigDecimal discountMoney;

    /** 合计金额 */
    @ApiModelProperty(value="合计金额")
    @Column(scale=6)
    @PageField(dataScale=6)
    private BigDecimal totalPrice;

    /** 账户(收款/付款) */
    @ApiModelProperty(value="账户",notes="账户(收款/付款)")
    private Long accountId;

    /** 单据编号 */
    @ApiModelProperty(value="单据编号")
    private String billNo;

    /** 单据日期 */
    @ApiModelProperty(value="单据日期")
    private Date billTime;

    /** 备注 */
    @ApiModelProperty(value="备注")
    private String remark;

    /** 附件名称 */
    @ApiModelProperty(value="附件名称")
    private String fileName;

    /** 状态，0未审核、1已审核 */
    @ApiModelProperty(value="状态",notes="状态，0未审核、1已审核")
    private String status;

    /** 租户id */
    @ApiModelProperty(value="租户id")
    private Long tenantId;

    /** 删除标记，0未删除，1删除 */
    @ApiModelProperty(value="删除标记",notes="删除标记，0未删除，1删除")
    private String deleteFlag;

}
